Estoy creando una plantilla de Django que usará jsrender para crear plantillas dinámicas de Javascript para código html.
Sin embargo, encuentro que cuando pongo una plantilla Jsrender en mi código, Django se vuelve loco porque Django analiza cualquier cosa entre {{ y }} como una variable, y Jsrender usa esto para sus propias variables. Por ejemplo, una plantilla en Jsrender podría verse así:
<script id="headerTemplate" type="text/x-jsrender"> <h1>{{:label}}</h1> </script> Django ve {{:label}} e intenta analizarlo, lo que genera un error.
¿Hay un bloque de Django que pueda invocar que haga que Django no analice ningún texto dentro de él? ¿O de lo contrario para escapar de un carácter { ?
Puede elegir delimitadores alternativos en JsRender, para evitar el conflicto con los delimitadores de Django.
https://www.jsviews.com/#settings/delimitadores
Por ejemplo:
$.views.settings.delimiters("<%", "%>"); cambiará la sintaxis de la etiqueta a <%...%> .
Puede activar la etiqueta de plantilla {% verbatim %} … {% endverbatim %} [Django-doc] :
{% verbatim %} <script id="headerTemplate" type="text/x-jsrender"> <h1>{{:label}}</h1> </script> {% endverbatim %}Por lo tanto, esto representará los corchetes dobles, no los interpretará.